Geodesic Patterns for free-form Architecture

MPDA’18 Master Thesis —— UPC-ETSAV

Alan Rynne Vidal

Last updated: 10/09/2018

1 Introduction

With the development of advanced 3D CAD tools in the last decades, architects are now able to incorporate complex freeform surfaces into their designs. This new capabilities have given birth to new architectural possibilities and, more importantly, new needs and challenges for the industry that can often be solved by the means of Differential Geometry (Carmo 2016) and, more specifically, Discrete Differential Geometry (Keenan Crane 2013), which studies the discrete counterparts of Differential Geometry. This new fusion between architecture and mathematics gave birth to the field known as Architectural Geometry (Pottmann, Schiftner, and Wallner 2008; Pottmann 2010), which has been further developed during the past years.

Given the scale an architectural scale, this smooth freeform surfaces cannot be built as designed in 3D CAD applications and, therefore, must be divided in smaller, simpler parts that could be easily manufacturable. This process is called Rationalization, and is not a trivial task; since the Rationalization of a surface implies a loss of precission in the resulting shape, it must be done in such a way that minimizes this loss. The selected shape of the generated panels also plays a key role when approaching this problems, since it is clear the final appearance of the design will vary greatly depending wether the panels are triangular, quad, hexagonal or long strips. Constructibility of the selected design (panel planarity, curvature, error margins) is of great concern in rationalization methods for architectural purposes, as opposed to related Computer Graphics methods.

In this publication we center on the generation of Geodesic Panels on Freeform Surfaces, meaning, seamlessly covering any given surface with a pattern of thin, long, straight panels, which must be developable and rectangular (or quasi-rectangular) in shape and must approximate the surface by being bent only on their weak axis. We will introduce the basic geometric properties behind this concept and the algorithmic implementation of several of the methods. We will also explore new methods for optimizing any given shape towards developability.

2 Background

Examples of the application of Architectural Geometry are abundant in today’s architecture. Architect Frank Ghery is known for his work ground-braking work on the design of architectural shapes based purely on developable patches (Stein, Grinspun, and Crane 2018), which can be easily covered by a variety of panel patterns.

Recent projects by Zaha Hadid, Foster, Toyo-Ito… XXXXXXX.

Covering surfaces with long rectangular, or quasi-rectangular panels of equal width, is a topic widely explored in traditional boat building, and has also been recently applied in several architectural projects, such as Toyo Ito’s Minna No Mori (Japan), or the interior cladding at Frank Ghery’s Burj Khalifa (Dubai) (Meredith and Kotronis 2013).

Some recently finished buildings would have also benefitted from the optimization of paneling and/or beam layout like… XXXXXX.

The concept of geodesic curves on manifolds and their calculation is also important for this topic (V. Surazhsky et al. 2005; Cheng et al. 2016,Polthier and Schmies (1998)) as well as the concept of developability of surfaces and their discrete counterparts (see Carmo 2016, and more recenly Stein, Grinspun, and Crane (2018))

Looking for other built examples or previous/further research on the subject.

3 Geometric properties

3.1 Geodesic curves

In differential geometry, a geodesic curve is the generalization of a straight line into curved spaces (see fig. 1).

Also, in the presence of an affine connection, a geodesic is defined to be a curve whose tangent vectors remain parallel if they are transported along it. We will explore the notion of vector parallel transport in the following sections.

For triangle meshes, shortest polylines cross edges at equal angles.

Finding the truly shortest geodesic paths requires the computation of distance fields (see Carmo 2016; Kimmel and Sethian 1998)

Figure 1: If an insect is placed on a surface and continually walks “forward”, by definition it will trace out a geodesic (image taken from Wikipedia).
Figure 1: If an insect is placed on a surface and continually walks “forward”, by definition it will trace out a geodesic (image taken from Wikipedia).

3.1.1 Algorithmic ways of generating geodesics

The computation of geodesics on smooth surfaces is a classical topic, and can be reduced to two different solutions, depending on the initial conditions of the problem, you can basically find two types of problems (Deng 2011):

Initial value problem
given a point \(p \in S\) and a vector \(v \in T_pS\), find a geodesic which is incident with \(p\), such that the tangent vector fo \(g\) at \(p\) is \(v\).
Boundary value problem
given two points \(p_1, p_2 \in S\) find a geodesic \(g\) connecting \(p_1\) and \(p_2\).

Both problems have different ways of being solved either numerically, graphically or by the means of simulations. The initial value problem can be solved using the concept of straightest geodesics (Polthier and Schmies 1998), whereas the boundary value problem has a very close relation with the computation of shortest paths between two points on a surface.

It is important to note that, during this chapter, all surfaces are discretized as triangular meshes (V,E,F) of sufficient precision.
What would that precision be?? %?? distance to reference surf??

Figure 2: The concept of ‘shortest geodesics’: curves \(g_0\)(red) and \(g_1\)(green) are both geodesic curves of a torus, although \(g_1\) is more than double the length of \(g_0\).

3.2 Developable surfaces

This is very well explained in p.170 of Denis Shelden thesis (Gerard’s suggestion). Explanation is inspired by that section.

It is also important to introduce the concept of the developable surface, a special kind of surface that have substantial and variable normal curvature while guaranteeing zero gaussian curvature, and as such, this surfaces can be unrolled into a flat plane with no deformation of the surface. This surfaces have been an extremely important design element in the practice of known architect Frank Ghery and explained in (Shelden 2002).

There are several ways of generating a developable surface using a curve in space.

  1. Select the starting point of the curve
  2. Obtain the perpendicular frame of the curve at the specified parameter.
  3. Deconstruct the frame into it’s \(X,Y\) & \(Z\) vectors.
  4. Select one of the vectors at all the sample points
  5. Draw a line using the selected vector at the start point of the curve.
  6. XXXXXX
Figure 3: Developable surface generated using curve \(g_1\) of fig. 2. (a) using the X component of the curve’s perp frame; (b) using the Y component & (c) using the Z component (tangent of the curve).

3.3 Properties to aim for {#sec:properties to aim for}

We will first introduce the properties we aim for when generating geodesic panels:

3.3.1 Geodesic property

3.3.2 Constant width property

3.3.3 Developable (or ‘pure-bending’) property

3.3.4 Objectives

Problem 1
Look for a system of geodesic curves that covers a freeform surface in a way that:
  1. They have approximate constant distance with it’s neighbours.
  2. This curves will serve as guiding curves for the panels.
  3. The panels are to cover the surface with no overlap and only small gaps
Problem 2
Look for a system of geodesic curves in a freeform surface which:
  1. Serve as the boundaries of wooden panels.
  2. The panel’s development is nearly straight.
  3. Those panels cover the surface with no gaps

4 Algorithmic strategies

In this section, we will introduce the different existent methods for generating geodesic curve patterns that will be used to model the final panels, using methods indicated in Sec. 4.5.

4.1 Parallel Transport Method

Figure 4: Parallel transport of a vector on a ‘piece-wise geodesic’ path on a sphere.

This method, described in (Pottmann et al. 2010), allows for the generation of a system of geodesic curves where either the maximum distance or the minimum distance between adjacent points occurs at a prescribed location.

In differential geometry, the concept of parallel transport (see fig. 5) of a vector V along a curve S contained in a surface means moving that vector along S such that:

  1. It remains tangent to the surface
  2. It changes as little as possible in direction
  3. It is a known fact that the length of the vector remains unchanged
Figure 5: Example of parallel transport method. Generatrix geodesic g (red) and geodesics g^\perp generated from a parallel transported vector (blue) computed given a point and a vector \mathbf v tangent to the surface, in both positive and negative directions.
Figure 5: Example of parallel transport method. Generatrix geodesic \(g\) (red) and geodesics \(g^\perp\) generated from a parallel transported vector (blue) computed given a point and a vector \(\mathbf v\) tangent to the surface, in both positive and negative directions.
Figure 6: Parallel transport along a curve \(g\) lying on surface \(S\) is equivalent to projecting \(\mathbf{v}_{i-1}\) onto the tangent plane on \(p_i\) and subsequently normalizing \(\mathbf{v}_i\).

4.1.1 Procedure

Following this procedure, extremal distances between adjacent geodesics occur near the chosen curve. Meaning:

  1. For surfaces of positive curvature, the parallel transport method will yield a 1-geodesic pattern on which the maximum distance between curves will be \(W\).
  2. On the other hand, for surfaces of negative curvature, the method will yield a 1-geodesic pattern with \(W\) being the closest (or minimum) distance between them.

The placement of the first geodesic curve and the selection of the initial vector are not trivial tasks. For surfaces with high variations of surfaces, the results might be unpredictable and, as such, this method is only suitable for surfaces with nearly constant curvature. Other solutions might involve cutting the surface into patches of nearly-constant curvature, and applying the parallel transport method independently on each patch.

4.2 Evolution Method

Two main concepts are covered in this section, both proposed by (Pottmann et al. 2010): the first, what is called the evolution method, and a second method based on piecewise-geodesic vector fields.

a b

Figure 7: Surface covered by a 1-geodesic pattern using the evolution method without introducing breakpoints. Fig. 7 (a) shows an overview of the result; while fig. 7 (b) highlights the intersection point of several geodesic curves. This problem will be addressed by introducing the concept of ‘piece-wise’ geodesic curves; which are curves that are not geodesics, but are composed of segments of several connected geodesic curves..

4.2.1 The evolution method

As depicted in: Starting from a source geodesic somewhere in the surface:

4.2.2 Distances between geodesics

  1. No straight forward solution.
    1. Only for rotational surfaces (surfaces with evenly distributed meridian curves).
  2. But a first-order approximation of this distance can be approximated:

Starting at time \(t=0\) with a geodesic curve \(g(s)\), parametrized by arc-length \(s\), and let it move within the surface.
A snapshot at time \(t=\varepsilon\) yields a geodesic \(g^+\) near \(g\).

\[g^+(s)=g(s)+\varepsilon\mathbf{v}(s)+\varepsilon^2(\ldots)\qquad(1)\]

The derivative vector field \(\mathbf v\) is called a Jacobi field. We may assume it is orthogonal to \(g(s)\) and it is expressed in terms of the geodesic tangent vector \(g'\) as:

\[\mathbf{v}(s)=w(s)\cdot{R_{\pi/2}(g'(s))},\quad\text{where}\;w''+Kw=0\qquad(2)\]

Since the distance between infinitesimally close geodesics are governed by Eq. 2, that equation also governs the width of a strip bounded by two geodesics at a small finite distance. { } Using this principle, you can develop strips whose width \(w(s)\) fulfills the Jacobi equation \(w(s)=\alpha\cosh(s\sqrt{|K|})\)1 for some value \(K<0\).
Gluing them together will result in a surface of approximate Gaussian curvature.

a b

Figure 8: Geodesic distances on sphere.

4.2.3 Obtaining the ‘next’ geodesic

Input:
A freeform surface \(S\), a desired width \(W\) and a starting geodesic curve \(g_0\)
Output:
The ‘next’ computed geodesic on \(S\)
Pseudocode:
Given a valid \(S\), \(W\) and \(g_0\):
  1. Sample the curve \(g_0\) at uniformly distributed arc-length parameters \(x_i\).
  2. Compute a a set of geodesics \(h_i \perp g_0\) starting points \(p(x_i)\) on \(g_0\).
  3. Select a width function \(\omega(s)\) that is closest to a desired target width function \(W(s)\)(Width function can return a fixed value or a computed value using curvature. It could be further improved accommodate other measures).
  4. Select a Jacobi field \(\mathbf v(s)\) using \(\omega(s)\) as stated in Eq. 2.
  5. ‘Walk’ the length of the vector \(\mathbf v(s)\) on \(h_i\) to obtain \(\chi_i\). These points approximate position of the next geodesic "g^+_i".
  6. The previous step can have a very big error margin, therefore we must compute \(g^+_i\):
    1. Select a point \(\chi_i\) and name it \(\chi_0\).
    2. We can compute the next geodesic by minimizing the error between the width function \(\omega(s)\) and the signed distance of the computed \(g^+_i\) to \(g_0\).
  7. Return computed geodesic \(g^+_i\)

Any given surface can be completely covered in this manner by recursively computing the next geodesic using the previous, given some margin of error.

a b

Figure 9: Surface covered by a 1-geodesic pattern using the evolution method. Fig. 7 (a) shows normal implementation; while fig. 7 (b) implements the piece-wise geodesic concept. Both images use the same parameters.

4.3 Level-Set Method

We can also compute geodesic curve patterns on a surface by computing a scalar function on each vertex of a mesh that minimizes a combination of error measurements \(F_{min} = F_k + \lambda F_{_nabla} + F_w\).

4.4 Geodesic Webs

We can also expand the Level-Set method explained in the previous section from one family of curves to several families of interconnected quasi-geodesic curves by simply computing several sets of scalar functions on each vertex of the surface.

4.5 Panel modeling

In this section, we will discuss several ways to generate panels from curves lying on a given surface:

4.5.1 Tangent-developable method

The notion of Conjugate tangents on smooth surfaces must be defined:

Tangent developable method for panels
Tangent developable method for panels

Initial algorithm is as follows:

For all geodesics \(s_i\) in a given pattern:

  1. Compute the tangent developable surfaces \(\rightarrow\Psi_i\)
  2. Trim \(\Psi_i\) along the intersection curves with their respective neighbours.
  3. Unfold the trimmed \(\Psi_i\), obtaining the panels in flat state.

Unfortunately, this method needs to be refined in order to work in practice because:

  1. The rulings of tangent developables may behave in weird ways
  2. The intersection of the neighboring \(\Psi_i\)’s is often ill-defined.

Therefore, the procedure was modified in the following way:

  1. Compute the tangent developable surfaces \(\Psi_i\) for all surfaces \(s_i \rightarrow i=\text{even numbers}\)
  2. Delete all rulings where the angle enclose with the tangent \(\alpha\) is smaller than a certain threshold (i.e. 20º).
  3. Fill the holes in the rulings by interpolation (???)
  4. On each ruling:
    1. Determine points \(A_i(x)\) and \(B_i(x)\) which are the closest to geodesics \(s_{i-1}\) and \(s_{i+1}\). This serves for trimming the surface \(\Psi_i\).
  5. Optimize globally the positions of points \(A_i(x)\) and \(B_i(x)\) such that
    1. Trim curves are smooth
    2. \(A_i(x)\) and \(B_i(x)\) are close to geodesics \(s_{i-1}\) and \(s_{i+1}\)
    3. The ruling segments \(A_i(x)B_i(x)\) lies close to the original surface \(\Phi\)

This adjustments to the algorithm allow for the modeling of panels that meet the requirements of developability and approximately constant width, although it must be noted computation times increase, as double the amount of geodesic curves need to be generated, and subsequently, the desired width function needs to be half the desired width of the panels. Fig. 10 shows the result of computing such panels and the subsequent gaps between the generated panels; these gaps need to be kept within a certain width in order to produce a successful watertight panelization of the original surface. Furthermore, material restrictions such as bending or torsion where not taken into account during the construction of the panels.

Figure 10: Panels computed using the using the tangent developable method.
Figure 10: Panels computed using the using the tangent developable method.

4.5.2 The Bi-Normal Method

The second method for defining panels, once an appropriate system of geodesics has been found on \(\Phi\), works directly with the geodesic curves.

Assume that a point \(P(t)\) traverses a geodesic \(s\) with unit speed, where \(t\) is the time parameter. For each time \(t\) there is:

This makes \(T.N.B\) a moving orthogonal right-handed frame

The surface \(\Phi\) is represented as a triangle mesh and \(s\) is given as a polyline. For each geodesic, the associated surface is constructed according to Fig. 11. Points \(L(t)\) and \(R(t)\) represent the border of the panel, whose distance from \(P(t)\) is half the panel width.

Figure 11: Binormal Method for panels & T.N.B. frame. On the left, the computed panels with the corresponding panel gaps highlighted in red. On the right, panels colored by distance to reference mesh.

4.5.3 Method Comparison

XXXXXX

4.6 Shape Optimization

4.6.1 Geodesic Vector-fields

The level-set method described in Sec. 4.3 is not suitable for arbitrary surfaces, and therefore it must be adapted to achieve the desired result. In this section, we introduce the concept of Geodesic Vector-fields (Pottmann et al. 2010) to divide the surface into patches that could be easily covered by equal width panels using the level-set method.

4.6.2 Dynamic shape optimization (Kennan Crane…)

Another option is to modify the original surface to make it developable. This algorithm was first presented by (Stein, Grinspun, and Crane 2018) and it allows to convert any given triangle mesh into a developable approximation by minimizing a specified energy applied to each edge of the mesh and subsequently subdividing in order to achieve a smooth developable approximation to the reference surface.

5 Quality Assessment

5.1 Panel gaps

5.2 Stress and strain in panels

The following section investigates the behavior of a rectangular strip of elastic material when it is bent to the shape of a ruled surface \(\Psi\) un such way that:

The central line \(m\) of the strip follows the ‘middle geodesic’ \(s\) in \(\Psi\)

This applies to both methods defining panels.fig. 12

Figure 12: Stress in panels
Figure 12: Stress in panels

5.2.1 Formulas

\[ \rho=1/{\sqrt{K}}, \qquad(3)\]

\[\varepsilon=\frac{1}{2}(d/2\rho)^2+\cdots\qquad(4)\]

\[ d/2\rho\leq C,\quad{with}\quad{C=\sqrt{\sigma _{max}/E}},\qquad(5)\]

where \(\sigma_{max}\) is the maximum admissible stress and \(E\) is Young’s modulus.

The value of \(C\) is a material constant which yields an upper bound \(\sigma_{max} = 2\rho_{min}C\) for the maximum strip width.

References

Carmo, Manfredo P do. 2016. Differential Geometry of Curves and Surfaces: Revised and Updated Second Edition. Courier Dover Publications.

Cheng, Peng, Chunyan Miao, Yong-Jin Liu, Changhe Tu, and Ying He. 2016. “Solving the Initial Value Problem of Discrete Geodesics.” Computer-Aided Design 70. Elsevier: 144–52. http://dx.doi.org/10.1016/j.cad.2015.07.012.

Deng, Bailin. 2011. “Special Curve Patterns for Freeform Architecture.” Edited by Helmut Pottmanm and Niloy J. Mitra. http://resolver.obvsg.at/urn:nbn:at:at-ubtuw:1-40363.

Keenan Crane, Mathieu Desbrun, Fernando de Goes. 2013. “Digital Geometry Processing with Discrete Exterior Calculus.” In ACM Siggraph 2013 Courses. SIGGRAPH ’13. New York, NY, USA: ACM.

Kimmel, R, and J A Sethian. 1998. “Computing Geodesic Paths on Manifolds.” Proc. Natl. Acad. Sci. U. S. A. 95 (15). https://doi.org/10.1073/pnas.95.15.8431.

Meredith, Neil, and James Kotronis. 2013. “Self-Detailing and Self-Documenting Systems for Wood Fabrication: The Burj Khalifa.” In Advances in Architectural Geometry 2012, edited by Lars Hesselgren, Shrikant Sharma, Johannes Wallner, Niccolo Baldassini, Philippe Bompas, and Jacques Raynaud, 185–98. Vienna: Springer Vienna. https://doi.org/10.1007/978-3-7091-1251-9_14.

Polthier, Konrad, and Markus Schmies. 1998. “Straightest Geodesics on Polyhedral Surfaces.” In Mathematical Visualization, 135–50. https://doi.org/10.1145/1185657.1185664.

Pottmann, Helmut. 2010. “Architectural Geometry as Design Knowledge.” Architectural Design 80 (4). Wiley Online Library: 72–77. https://doi.org/10.1002/ad.1109.

Pottmann, Helmut, Qixing Huang, Bailin Deng, Alexander Schiftner, Martin Kilian, Leonidas Guibas, and Johannes Wallner. 2010. “Geodesic Patterns.” In ACM SIGGRAPH 2010 Papers on - SIGGRAPH ’10. https://doi.org/10.1145/1833349.1778780.

Pottmann, Helmut, Alexander Schiftner, and Johannes Wallner. 2008. “Geometry of Architectural Freeform Structures.” In Symposium on Solid and Physical Modeling, 9. https://doi.org/10.1145/1364901.1364903.

Shelden, Dennis Robert. 2002. “Digital Surface Representation and the Constructibility of Gehry’s Architecture.” PhD thesis, Massachusetts Institute of Technology. http://hdl.handle.net/1721.1/16899.

Stein, Oded, Eitan Grinspun, and Keenan Crane. 2018. “Developability of Triangle Meshes.” ACM Trans. Graph. 37 (4). New York, NY, USA: ACM.

Surazhsky, Vitaly, Tatiana Surazhsky, Danil Kirsanov, Steven J Gortler, and Hugues Hoppe. 2005. “Fast Exact and Approximate Geodesics on Meshes.” ACM Trans. Graph. 24 (3). https://doi.org/10.1145/1186822.1073228.


  1. Question: What is \(\alpha\) in this formula? Missing image